package com.example.algorithm.backtracing;

/**
 * 你有两个字符串，即pattern和value。 pattern字符串由字母"a"和"b"组成，用于描述字符串中的模式。例如，字符串
 * "catcatgocatgo"匹配模式"aabab"（其中"cat"是"a"，"go"是"b"），该字符串也匹配像"a"、"ab"和"b"这样的模式。
 *  但需注意"a"和"b"不能同时表示相同的字符串。编写一个方法判断value字符串是否匹配pattern字符串。
 *
 *  示例 1：
 *  输入： pattern = "abba", value = "dogcatcatdog"
 * 输出： true
 *
 *  示例 2：
 *  输入： pattern = "abba", value = "dogcatcatfish"
 * 输出： false
 *
 *  示例 3：
 *  输入： pattern = "aaaa", value = "dogcatcatdog"
 * 输出： false
 *
 *  示例 4：
 *  输入： pattern = "abba", value = "dogdogdogdog"
 * 输出： true
 * 解释： "a"="dogdog",b=""，反之也符合规则
 */
public class Interview16_18_PatternMatching {
    public static void main(String[] args) {
        String pattern = "abba", value = "dogcatcatdog";
        System.out.println(new Solution().patternMatching(pattern, value));
    }

    static class Solution {
        private boolean patternMatching2(String pattern, String value) {
            return false;
        }

        private boolean patternMatching1(String pattern, String value) {
            return false;
        }

        public boolean patternMatching(String pattern, String value) {
            return patternMatching1(pattern, value);
        }
    }
}
